﻿using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Linq;
using Telerik.WinControls;

namespace QuanLyKTX
{
    using DAL;
    using Utilities;
    using System.Configuration;
    public partial class frm_ChangePassword : Telerik.WinControls.UI.RadForm
    {
        public frm_ChangePassword()
        {
            InitializeComponent();
        }

        private void radButton_BoQua_Click(object sender, EventArgs e)
        {
            Dispose();
        }

        private void radButton_ThayDoi_Click(object sender, EventArgs e)
        {
            frm_Main fMain = (frm_Main)MdiParent;
            if (radTextBox_MatKhauMoi.Text.Length>0)
            {
                if (radTextBox_MatKhauMoi.Text.Equals(radTextBox_XacNhan.Text))
                {
                    NameValueCollection appSettings = ConfigurationManager.AppSettings;
                    string passPhrase = appSettings["passPhrase"];
                    string initVector = appSettings["initVector"];
                    int passInter  = Convert.ToInt32(appSettings["passInteration"]);
                    string hashingAlgorithm = appSettings["hashingAlgorithm"];
                    string saltPass = appSettings["saltPass"];

                    using (var db = new QuanLyKTXDataContext())
                    {
                        var result = (from p in db.tbl_NhanViens
                                      where p.MaNhanVien == fMain.NVDangNhap.MaNhanVien
                                      select p).Single();
                        result.MatKhau = RijndaelSimple.Encrypt(radTextBox_MatKhauMoi.Text, passPhrase, saltPass, hashingAlgorithm, passInter, initVector, 256);
                        db.SubmitChanges();
                        MessageBox.Show("Mật khẩu đã được thay đổi. Chương trình sẽ khởi động lại.");                        
                        Application.Restart();
                    }
                }
                else
                {
                    MessageBox.Show("Thông tin Xác nhận lại phải trùng với Mật khẩu mới.");
                }
            }
            else
            {
                MessageBox.Show("Thông tin Mật khẩu mới không được để trống.");
            }

        }
    }
}
